s1_goto_dir(){
  cd "$1"
}
s2_touch_empty_file_with_given_name(){
  touch "$1"
}
s3_make_directories(){
  mkdir -p projects/{git,backup}
}
s4_create_6_files(){
  touch projects/{linux1_,linux2_}{centos,redhat,c_programming}
}
s5_make_directories_in_git(){
  mkdir -p projects/git/{linux1,linux2}
}
s6_move_files_to_dir_1_or_2(){
  mv projects/*linux1_* projects/git/linux1/
  mv projects/*linux2_* projects/git/linux2/
}
s7_create_package_and_compress(){
  tar -czvf projects/backup/git.tar.gz -C ~/projects git/
}
s8_delete_dir_git(){
  rm -rf ~/projects/git
}
s9_recover_from_git_tar_gz_backup(){
 rm -rf ~/projects/git
 tar -zxvf projects/backup/git.tar.gz -C projects/
}
s10_create_package_and_compress(){
  tar -jcvf projects/backup/git.tar.bz2 -C ~/projects git/
}
s11_find_and_sort_alphabetically_all_created_files_and_dirs(){
  find ./projects -type f -o -type d | sort
}
s12_get_next_15_minutes_boundary(){
   now=$(date '+%s')
   next=$(((now + 900) / 900 * 900))
   future=$(date -d "@$next" '+%Y-%m-%d_%H:%M:%S')
   echo $future
}
